When audio/video data is processed by various circuits and components that provide functionality in a personal video recorder type system, some or all of the data is typically stored on a long-term storage device such as a hard disk. In order to provide copyright and licensing protection, it is desirable to provide encryption to protect the data from unauthorized copying and use. Typically, standard algorithms for data scrambling are used so that the security strength of the algorithm is well known and widely accepted. It is therefore the key(s) used by these algorithms that largely govern the security level of the whole system.
One common encryption algorithm is the Data Encryption Standard (DES, or Single-DES). However, Single-DES can be “cracked” within a few hours using commonly available computing resources. A further refinement referred to as Triple-DES provides significant strength improvement (a factor of 256). See, for example, Kaufman, Perlman and Speciner “Network Security,” Ch. 3, page 63, March, 1995 by Prentice Hall. Another well-known encryption algorithm is the Advanced Encryption System (AES). See, for example, Elaine Barker “NIST Cryptographic Toolkit”, published Oct. 16, 2000.
The hardware (e.g., integrated circuit) implementation of standard cryptographic algorithms is well known. However, in many situations, for example, personal video recording, each system must be uniquely distinguishable so that data written to the storage device of a system cannot be copied and used by another system, that may or may not be authorized. In other words, it is desirable that each system encrypt the data stored by that system with a key that is different from other systems. Furthermore, such unique keys can also be used to encrypt and protect movement of shared/public/group keys outside of an integrated circuit.
The unique key or ID must be securely stored either on the integrated circuit or on a secure device outside the integrated circuit. If the key is stored on an external device a secure transfer between the device and the integrated circuit performing the cryptographic operations must be provided.
In general, keys that are used to encrypt content to be stored on long-term and/or removable storage devices require a higher degree of protection. This is because, unlike broadcast communication scrambling systems, these keys do not change as often with time. Such keys are typically used for the life of the system or a session of the system. Architectures in which keys change over time require that the key be stored, typically on an external memory device. It is this memory that then becomes the weak point of the system.